package beans;

import java.util.List;

import javax.naming.NamingException;

import org.richfaces.component.html.HtmlDataTable;

import co.edu.uniquindio.ondas.delegados.AdministradorDelegado;
import co.edu.uniquindio.ondas.dtos.ResumenConsultaDTO;
import co.edu.uniquindio.ondas.entidades.RespuestaConsulta;
/**
 * @author Javier
 *Bean para  Consultas hechas por los grupos
 */
public class ConsultasGruposBean {
	
	private AdministradorDelegado administradorDelegado;
	private List<ResumenConsultaDTO> listaConsultas;
	private HtmlDataTable tablaConsultas;
	private ResumenConsultaDTO consultaSeleccionada=new ResumenConsultaDTO(0, null, null, null, null, null, null);
	private RespuestaConsulta nuevaRespuesta=new RespuestaConsulta();
	
	/**
	 *Metodo constructor
	 * @throws NamingException
	 */
	public ConsultasGruposBean() throws NamingException {
		administradorDelegado=new AdministradorDelegado();
	}
	
	/**
	 * Metodo que permite seleccionar una consulta desde interfaz
	 * @return
	 */
	public String seleccionarConsulta()
	{
		consultaSeleccionada=(ResumenConsultaDTO) getTablaConsultas().getRowData();
		return "";
	}
	
	/**
	 * Metodo que permite obtener las consultas hechas por un Asesor
	 * @return "consultasAdministrador"
	 */
	public String obtenerConsultasAsesor()
	{
		listaConsultas=administradorDelegado.obtenerConsultasAdministrador();
		return "consultasAdministrador";
	}
	
	/**
	 * Metodo que permite crear una respuesta a una Consulta
	 * @return
	 */
	public String crearRespuesta()
	{
		administradorDelegado.crearRespuestaConsulta(nuevaRespuesta, consultaSeleccionada.getIdConsulta());
		nuevaRespuesta=new RespuestaConsulta();
		return obtenerConsultasAsesor();
	}

	/**
	 *Metodo accesor del atributo listaConsultas
	 * @return the listaConsultas
	 */
	public List<ResumenConsultaDTO> getListaConsultas() {
		return listaConsultas;
	}

	/**
	 *Metodo Modificador del atributo listaConsultas
	 * @param listaConsultas the listaConsultas to set
	 */
	public void setListaConsultas(List<ResumenConsultaDTO> listaConsultas) {
		this.listaConsultas = listaConsultas;
	}

	/**
	 *Metodo accesor del atributo tablaConsultas
	 * @return the tablaConsultas
	 */
	public HtmlDataTable getTablaConsultas() {
		return tablaConsultas;
	}

	/**
	 *Metodo Modificador del atributo tablaConsultas
	 * @param tablaConsultas the tablaConsultas to set
	 */
	public void setTablaConsultas(HtmlDataTable tablaConsultas) {
		this.tablaConsultas = tablaConsultas;
	}

	/**
	 *Metodo accesor del atributo consultaSeleccionada
	 * @return the consultaSeleccionada
	 */
	public ResumenConsultaDTO getConsultaSeleccionada() {
		return consultaSeleccionada;
	}

	/**
	 *Metodo Modificador del atributo consultaSeleccionada
	 * @param consultaSeleccionada the consultaSeleccionada to set
	 */
	public void setConsultaSeleccionada(ResumenConsultaDTO consultaSeleccionada) {
		this.consultaSeleccionada = consultaSeleccionada;
	}

	/**
	 *Metodo accesor del atributo nuevaRespuesta
	 * @return the nuevaRespuesta
	 */
	public RespuestaConsulta getNuevaRespuesta() {
		return nuevaRespuesta;
	}

	/**
	 *Metodo Modificador del atributo nuevaRespuesta
	 * @param nuevaRespuesta the nuevaRespuesta to set
	 */
	public void setNuevaRespuesta(RespuestaConsulta nuevaRespuesta) {
		this.nuevaRespuesta = nuevaRespuesta;
	}
	
	
	
	

//	public List<ResumenConsultaDTO> getListaConsultas() {
//		return listaConsultas;
//	}
//
//	public void setListaConsultas(List<ResumenConsultaDTO> listaConsultas) {
//		this.listaConsultas = listaConsultas;
//	}
//
//	public HtmlDataTable getTablaConsultas() {
//		return tablaConsultas;
//	}
//
//	public void setTablaConsultas(HtmlDataTable tablaConsultas) {
//		this.tablaConsultas = tablaConsultas;
//	}
//
//	public ResumenConsultaDTO getConsultaSeleccionada() {
//		return consultaSeleccionada;
//	}
//
//	public void setConsultaSeleccionada(ResumenConsultaDTO consultaSeleccionada) {
//		this.consultaSeleccionada = consultaSeleccionada;
//	}
//
//	public RespuestaConsulta getNuevaRespuesta() {
//		return nuevaRespuesta;
//	}
//
//	public void setNuevaRespuesta(RespuestaConsulta nuevaRespuesta) {
//		this.nuevaRespuesta = nuevaRespuesta;
//	}
	
	
}
